/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package suac.familia;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import suac.dependente.Dependente;
import suac.pessoaref.PessoaRef;

/**
 *
 * @author acer
 */
@Entity
@Table(name="familia")
public class Familia implements Serializable {

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 67 * hash + this.idFamilia;
        hash = 67 * hash + Objects.hashCode(this.nome_familia);
        hash = 67 * hash + Objects.hashCode(this.cidade);
        hash = 67 * hash + Objects.hashCode(this.rua);
        hash = 67 * hash + this.numerodacasa;
        hash = 67 * hash + Objects.hashCode(this.estado);
        hash = 67 * hash + (this.familiaativa ? 1 : 0);
        hash = 67 * hash + Objects.hashCode(this.pessoaref);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Familia other = (Familia) obj;
        if (this.idFamilia != other.idFamilia) {
            return false;
        }
        if (!Objects.equals(this.nome_familia, other.nome_familia)) {
            return false;
        }
        if (!Objects.equals(this.cidade, other.cidade)) {
            return false;
        }
        if (!Objects.equals(this.rua, other.rua)) {
            return false;
        }
        if (this.numerodacasa != other.numerodacasa) {
            return false;
        }
        if (!Objects.equals(this.estado, other.estado)) {
            return false;
        }
        if (this.familiaativa != other.familiaativa) {
            return false;
        }
        if (!Objects.equals(this.pessoaref, other.pessoaref)) {
            return false;
        }
        return true;
    }
    
    @Id // chave primária
    @GeneratedValue // campo auto incremento
    private short idFamilia;
    
    @Column(nullable=false, length=100)
    private String nome_familia;
    
    @Column(nullable=false, length=70)
    private String cidade;
    
    @Column(nullable=false, length=70)
    private String rua;
    
    @Column(nullable=false, length=7)
    private int numerodacasa;
    
    @Column(nullable=false, length=30)
    private String estado;
    
    @Column(nullable=false)
    private boolean familiaativa;

    public short getIdFamilia() {
        return idFamilia;
    }

    public void setIdFamilia(short idFamilia) {
        this.idFamilia = idFamilia;
    }
    @OneToMany(mappedBy = "pessoaref")
    private List<PessoaRef> pessoaref;

    public List<PessoaRef> getPessoaref() {
        return pessoaref;
    }

    public void setPessoaref(List<PessoaRef> pessoaref) {
        this.pessoaref = pessoaref;
    }

    public String getNome_familia() {
        return nome_familia;
    }

    public void setNome_familia(String nome_familia) {
        this.nome_familia = nome_familia;
    }

    /**
     * @return the cidade
     */
    public String getCidade() {
        return cidade;
    }

    /**
     * @param cidade the cidade to set
     */
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }

    /**
     * @return the rua
     */
    public String getRua() {
        return rua;
    }

    /**
     * @param rua the rua to set
     */
    public void setRua(String rua) {
        this.rua = rua;
    }

    /**
     * @return the numerodacasa
     */
    public int getNumerodacasa() {
        return numerodacasa;
    }

    /**
     * @param numerodacasa the numerodacasa to set
     */
    public void setNumerodacasa(int numerodacasa) {
        this.numerodacasa = numerodacasa;
    }

    /**
     * @return the estado
     */
    public String getEstado() {
        return estado;
    }

    /**
     * @param estado the estado to set
     */
    public void setEstado(String estado) {
        this.estado = estado;
    }

    /**
     * @return the familiaativa
     */
    public boolean isFamiliaativa() {
        return familiaativa;
    }

    /**
     * @param familiaativa the familiaativa to set
     */
    public void setFamiliaativa(boolean familiaativa) {
        this.familiaativa = familiaativa;
    }
    private static final long serialVersionUID = -1554108477862498641L;

  
    
}
